package org.ehe.business.drawing.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ehe.system.domain.vo.SysOssVo;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 图纸管理实体类
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_design_drawing")
public class DesignDrawing {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 项目ID
     */
    private Long projectId;
    /**
     * 点位名称
     */
    private Long siteId;
    /**
     * 图纸名称
     */
    private String drawName;

    private String designer;

    /**
     * 图纸编码
     */
    private String drawCode;

    /**
     * 图号
     */
    private String drawNo;

    /**
     * 图纸类型/后缀
     */
    private String drawType;

    /**
     * 密级：公开、内部、机密、绝密、其他
     */
    private String secretLevel;


    /**
     * 描述
     */
    private String remark;

    /**
     * 版本号
     */
    private String version;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 创建者
     */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 更新者
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /**
     * 删除标志：0可用，1删除
     */
    @TableLogic
    private String delFlag;

    /**
     * 租户ID
     */
    private String tenantId;

    @TableField(exist = false)
    private SysOssVo ossVo;


    /**
     * 状态：0-草稿（未提交）,1-已提交，
     * 5-未通过
     * 9-驳回（已拒绝），
     * 10-审核中，20-通过，，6-作废（只有在1、5）的情况下可以修改
     */
    @TableField(exist = false)
    private String statusName;

    /**
     * 有效时常（小时）
     */
    private int estimatedHours;

    /**
     * 是否超期（0否  1是）
     */
    private String isOverdue;

    private LocalDateTime isOverdueEndTime;

    /**
     * 审核时间
     */
    private LocalDateTime auditTime;

    /**
     * 审核人
     */
    private String auditUser;

    /**
     * 截止时间
     */
    private LocalDateTime deadlineTime;

}
